The present invention relates to error messaging systems and in particular, to an error messaging standard for electronic devices and components.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Solaris, Java, JavaOS, JavaStation, HotJava Views, JINI and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
When a device fails, (breaks, stops working, works incorrectly) it is often difficult to figure out the reason for failure. Often this is because the device is not able to give any status information because it has failed. Another reason is that the device is not configured to be able to provide useful status information even when it is working correctly. Finally, even when a device does give status information, it may be in a proprietary format that requires specialized knowledge, documentation, or tools to understand.
Regardless of whether a device is an embedded device or not, it usually has a scheme for communicating its failures and status to the outside world. A failure identification can be as simple as a device not turning on, or a blinking or color coded LED indicating a problem. It can also be as sophisticated as sending an e-mail message of a device failure to a remote computer. Larger and more complex electronic components have more sophisticated mechanisms for identifying and communicating failures. This is important where there are many possible failure modes in a complex system, and the source of a problem can be more quickly identified by useful failure communication information.
When designing a device with electronic components, striving for reliability and serviceability are important competitive factors. But design cost is proportional to the level of reliability and serviceability achieved on the device. Obtaining reliability depends on the quality of electronic components selected, and the manufacturing process of the device. But even when high reliability is achieved, the possibility of device failure still exists. Therefore designing in advance for serviceability becomes equally as important as reliability. Obtaining high level of serviceability first depends on the accuracy, granularity, and ease of use in identifying what failed in a device.
A universal and reusable method for designing serviceability features capable of identifying and delivering device failures does not exist today. Therefore designing for serviceability today is device dependent, and can become costly depending on device""s architecture. SNMP, (Simple network management protocol), and MIB, (Management information base), are two standards that provide some consistency in a method of managing errors, but both schemes are predominantly used for network specific devices, e.g. network interface cards, Ethernet hubs, and routers. The portability of these schemes to other environments is limited.
One problem with providing a universal error messaging system is the number of different xe2x80x9cplatformsxe2x80x9d on which the system is required to operate. A platform is the combination of the hardware (e.g. processor) and software (e.g. operating system) that comprises a particular device. For example, a computer system with a processor manufactured by Intel and running the operating system known as Windows is considered to be a platform. An Intel computer running the DOS operating system is considered to be another platform. Other platforms include Sparc processor based computers from Sun Microsystems, Motorola processor based computers, and computers using the Unix operating system. In the prior art, software is often written specifically for a particular platform and will not run on other platforms. Such software is platform dependent.
A standard platform independent messaging environment for use with devices is provided. The environment provides programming and operational building blocks that can be used to interface with existing data providing capabilities to identify, respond to, and report errors and failover conditions. Customizable decision logic is used to provide more sophisticated response and reporting capabilities, even though the basic device hardware and operation is not redesigned.